package Singleton;

/**
 * @author Jimmy Zhan WORKSTATION
 * @date 2023/6/21 11:56
 * 说明：
 */

public class _04_Lazy_Safty {
    private _04_Lazy_Safty(){}

    private static _04_Lazy_Safty lazy_threadSafty;

    // 只有第一次没有实例的时候是写操作（创建对象），之后再调用getInstance()就是读操作了
    // 读操作本来就是线程安全的，因此这里的synchronized锁在后续的读操作中会限制性能
    public static synchronized _04_Lazy_Safty getInstance() {
        if (lazy_threadSafty == null) {
            lazy_threadSafty = new _04_Lazy_Safty();
        }
        return lazy_threadSafty;
    }
}
